package com.zhangyan.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 用户实体类
 */
@Data // Lombok 注解，自动生成 Getter、Setter、toString、equals 和 hashCode 方法
public class User implements Serializable {

    // 用户 ID
    private String id;

    // 用户昵称
    private String username;

    // 用户账号
    private String userAccount;

    // 用户头像 URL
    private String avatarUrl;

    // 性别 (0: 女, 1: 男)
    private Integer gender;

    // 密码
    private String userPassword;

    // 电话号码
    private String phone;

    // 邮箱
    private String email;

    // 用户状态 (0: 正常, 1: 未激活, ...)
    private Integer userStatus;

    // 创建时间
    private Date createTime;

    // 更新时间
    private Date updateTime;

    // 是否删除 (0: 未删除, 1: 已删除)
    @TableLogic
    private Integer isDelete;

    private Integer userRole;

    private String planetCode;

    private String tags;

    @Serial
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}